接着《Spring-Boot-shiro用户认证》,当用户成功登录后,关闭浏览器然后再打开浏览器访问http://localhost:8080/web/index,页面会跳转到登录页,之前的登录因为浏览器的关闭已经失效。
Shiro为我们提供了Remember Me的功能,用户的登录状态不会因为浏览器的关闭而失效,直到Cookie过期。
更改 ShiroConfig
继续编辑ShiroConfig,加入:
1 | /** |
接下来将cookie管理对象设置到SecurityManager中:
1 |
|
最后修改权限配置,将ShiroFilterFactoryBean的filterChainDefinitionMap.put("/**", "authc");
更改为filterChainDefinitionMap.put("/**", "user");
。user
指的是用户认证通过或者配置了Remember Me记住用户登录状态后可访问。
更改 login.html
在login.html中加入Remember Me checkbox:
1 |
|
更改 LoginController
更改LoginController的login()方法:
1 | "/login") ( |
当rememberMe参数为true的时候,Shiro就会帮我们记住用户的登录状态。启动项目即可看到效果。
源码链接:https://github.com/wuyouzhuguli/Spring-Boot-Demos/tree/master/12.Spring-Boot-Shiro-RememberMe